/* 双指针法，具体步骤如下：

分别对两个序列进行排序
使用两个指针分别指向两个序列的起始位置
计算当前两个指针所指元素的差值，并更新最小差值
移动指向较小元素的指针（如果a[i] < b[j]，则i++；否则j++）
重复步骤 直到遍历完一个序列 */

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n, m;
  cin >> n >> m;

  vector<int> a(n), b(m);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = 0; i < m; i++) {
    cin >> b[i];
  }

  // 分别对两个序列排序
  sort(a.begin(), a.end());
  sort(b.begin(), b.end());

  int i = 0, j = 0;
  int min_diff = INT_MAX;

  // 双指针遍历两个序列
  while (i < n && j < m) {
    int diff = abs(a[i] - b[j]);
    min_diff = min(min_diff, diff);

    // 移动指向较小元素的指针
    if (a[i] < b[j]) {
      i++;
    } else {
      j++;
    }
  }

  cout << min_diff << endl;
  return 0;
}
